<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Network File System</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Network_File_System"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Network_File_System rootpage-Network_File_System skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Network File System</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right" style="margin-top:0; text-align:center;" cellspacing="3">
<caption><b>NFS im <a href="OSI-Schichtenmodell" class="mw-redirect" title="OSI-Schichtenmodell">OSI-Schichtenmodell</a></b>
</caption>
<tbody><tr>
<td style="background:#FFCC99"><b>Anwendung</b>
</td>
<td colspan="4" style="background:#9999FF"><b>NFS</b>
</td></tr>
<tr>
<td style="background:#FFCC99"><i>Darstellung</i>
</td>
<td colspan="4" style="background:#EEEEFF"><b><a href="External_Data_Representation" title="External Data Representation">XDR</a></b>
</td></tr>
<tr>
<td style="background:#FFCC99"><i>Sitzung</i>
</td>
<td colspan="4" style="background:#EEEEFF"><i>(Sun-)</i> <b><a href="Remote_Procedure_Call" title="Remote Procedure Call">RPC</a></b>
</td></tr>
<tr>
<td style="background:#FFCC99"><i>Transport</i>
</td>
<td colspan="2" style="background:#EEEEFF"><b>(<a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a>)</b>
</td>
<td colspan="2" style="background:#EEEEFF"><b><a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a></b>
</td></tr>
<tr>
<td style="background:#FFCC99"><i>Netzwerk</i>
</td>
<td colspan="4" style="background:#EEEEFF"><b><a href="Internet_Protocol" title="Internet Protocol">IP</a> (<a href="IPv4" title="IPv4">IPv4</a>, <a href="IPv6" title="IPv6">IPv6</a>)</b>
</td></tr>
<tr>
<td style="background:#FFEEBB"><i>Netzzugang</i>
</td>
<td style="background:#EEEEEE"><a href="Ethernet" title="Ethernet">Ethernet</a>
</td>
<td style="background:#EEEEEE"><a href="Token_Ring" title="Token Ring">Token<br>Ring</a>
</td>
<td style="background:#EEEEEE"><a href="Fiber_Distributed_Data_Interface" title="Fiber Distributed Data Interface">FDDI</a>
</td>
<td style="background:#EEEEEE">…
</td></tr></tbody></table>
<p>Das <b>Network File System</b> (<b>NFS</b>, auch <i>Network File Service</i>) ist ein von <a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> entwickeltes <a href="Netzwerkprotokoll" title="Netzwerkprotokoll">Protokoll</a>, das den Zugriff auf <a href="Datei" title="Datei">Dateien</a> über ein <a href="Rechnernetz" title="Rechnernetz">Netzwerk</a> ermöglicht. Dabei werden die Dateien nicht wie z. B. bei <a href="File_Transfer_Protocol" title="File Transfer Protocol">FTP</a> übertragen, sondern die Benutzer können auf Dateien, die sich auf einem entfernten Rechner befinden, so zugreifen, als ob sie auf ihrer lokalen <a href="Laufwerk_(Computer)" title="Laufwerk (Computer)">Festplatte</a> abgespeichert wären.
</p><p>Bei diesem <a href="Unix" title="Unix">Unix</a>-Netzwerkprotokoll handelt es sich um einen <a href="Internet" title="Internet">Internet</a>-<a href="Standard" title="Standard">Standard</a> (RFC 1094,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> RFC 1813,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> RFC 3530,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> RFC 7530<sup id="cite_ref-RFC7530_4-0" class="reference"><a href="#cite_note-RFC7530-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>), der auch als verteiltes <a href="Dateisystem" title="Dateisystem">Dateisystem</a> (<span style="font-style:normal;font-weight:normal"><a href="Englische_Sprache" title="Englische Sprache">englisch</a></span> <span lang="en-Latn" style="font-style:italic">distributed file system</span>) bezeichnet wird.
</p><p>Die Entsprechung zu NFS heißt unter Windows- und <a href="OS/2" title="OS/2">OS/2</a>-Umgebungen <a href="Server_Message_Block" title="Server Message Block">Server Message Block</a> (SMB).
Während sich bei SMB der Benutzer authentifiziert, authentisiert NFSv3 den Client-Rechner, erst NFSv4 ermöglicht Benutzerauthentifikation. NFS-Dienste sind auch auf <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft-Windows</a>-<a href="Server" title="Server">Servern</a> verfügbar, wodurch UNIX-<a href="Workstation" title="Workstation">Workstations</a> Zugang zu deren Dateien erhalten können, allerdings wird in gemischten Umgebungen meist SMB mit <a href="Samba_(Software)" title="Samba (Software)">Samba</a> auf Unixseite verwendet.
</p><p>NFS arbeitet auf dem <a href="Netzwerkprotokoll" title="Netzwerkprotokoll">Netzwerkprotokoll</a> <a href="Internet_Protocol" title="Internet Protocol">IP</a> ursprünglich zusammen mit dem <a href="Zustandslosigkeit" title="Zustandslosigkeit">zustandslosen</a> <a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a>. Mittlerweile gibt es aber auch NFS über <a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a>. NFSv4 arbeitet nur mit TCP und benötigt nur noch einen Port (2049), was den Betrieb durch <a href="Firewall" title="Firewall">Firewalls</a> erleichtert. NFSv4 wurde maßgeblich durch die <a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a> entwickelt, nachdem Sun die Entwicklung abgegeben hatte.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Schematischer_Ablauf_der_Datenübertragung"><span id="Schematischer_Ablauf_der_Daten.C3.BCbertragung"></span>Schematischer Ablauf der Datenübertragung</h2></div>
<p>Im Folgenden ist der prinzipielle Ablauf einer NFS-Kommunikation des alten zustandslosen NFS bis einschließlich Version 3 beschrieben. Szenario: Ein Nutzer des Client-Rechners möchte ein entferntes Verzeichnis <i>(/directory)</i> öffnen und eine darin befindliche Datei <i>(test)</i> anzeigen lassen.
</p><p>Damit ein Datenaustausch zwischen NFS-Server und -Client stattfinden kann, muss der NFS-Server gestartet und beim <a href="Portmapper" title="Portmapper">Portmapper</a> registriert sein.
</p>
<ol><li><a href="Client" title="Client">Client</a> kontaktiert Portmapper auf Port 111 und fragt nach dem <a href="Port_(Netzwerkadresse)" title="Port (Netzwerkadresse)">Port</a> des <a href="Mounten" title="Mounten">Mount</a>-<a href="Daemon" title="Daemon">Daemons</a> (mountd)</li>
<li>Portmapper gibt Portnummer für mountd heraus. Typischerweise ist das 694.</li>
<li>Client kontaktiert mountd und fragt nach einem <a href="Filehandle" class="mw-redirect" title="Filehandle">Filehandle</a> für <i>/directory</i>, des vom Clienten zu mountenden Verzeichnisses des Servers.</li>
<li>mountd gibt ein <i>Filehandle 0</i> als <i>root</i>-Filehandle für das zu mountende Verzeichnis des Servers zurück</li>
<li>Client kontaktiert Portmapper und fragt nach dem Port für NFS (nfsd). Typischerweise ist das 2049.</li>
<li>Portmapper gibt Portnummer für nfsd heraus</li>
<li>Client führt <i>LOOKUP</i>-<a href="Prozedur_(Programmierung)" title="Prozedur (Programmierung)">Prozedur</a> aus mit den Parametern <i>Filehandle 0</i> und dem Dateinamen <i>(test)</i></li>
<li>nfsd gibt <i>Filehandle 1</i> für Datei <i>(test)</i> heraus</li>
<li>Client führt <i>READ</i>-Prozedur aus mit dem Parameter <i>Filehandle 1</i></li>
<li>nfsd gibt Inhalt der Datei <i>(test)</i> zurück (Daten)</li></ol>
<div class="mw-heading mw-heading2"><h2 id="Design_der_frühen_Versionen_des_Systems"><span id="Design_der_fr.C3.BChen_Versionen_des_Systems"></span>Design der frühen Versionen des Systems</h2></div>
<p>Ein Programm greift auf das Dateisystem über <a href="Systemaufruf" title="Systemaufruf">Systemaufrufe</a> zu. Unter <a href="Unix" title="Unix">Unix</a> sind die wichtigsten Systemaufrufe:
</p>
<ul><li><i>open</i>, <i>close</i> – Öffnen und Schließen einer Datei</li>
<li><i>read</i>, <i>write</i> – Lesen und Schreiben</li>
<li><i>create</i>, <i>unlink</i> – Erzeugen und Löschen</li>
<li><i>mkdir</i>, <i>rmdir</i> – Erzeugen und Löschen eines Verzeichnisses</li>
<li><i>readdir</i> – Lesen von Verzeichniseinträgen</li></ul>
<p>Ein Netzwerkdateisystem muss diese Aufrufe in Netzwerkpakete verpacken und an einen <a href="Server" title="Server">Server</a> senden. Dieser antwortet dann mit der entsprechenden Information oder einem Fehler.
</p><p>Die Entwickler von Sun Microsystems entschieden sich zunächst für ein <a href="Remote_Procedure_Call" title="Remote Procedure Call">Remote-Procedure-Call</a>-Modell. <a href="External_Data_Representation" title="External Data Representation">XDR</a> setzt die Parameter des <i>RPCs</i> in ein maschinenunabhängiges Format um, die Zugriffe werden dann über den RPC Mechanismus wie ein normaler Unterprogrammaufruf behandelt.
</p><p>Die Systemaufrufe werden aber nicht direkt in RPC-Aufrufe umgesetzt, da dann eine über <i>open</i> geöffnete Datei auch auf dem Server geöffnet werden müsste. Bei vielen Clients wären die Server dann schnell überlastet, da die Maschinen Mitte der 1980er-Jahre noch relativ wenig Speicher hatten. Die Aufgaben des Servers wurden daher so einfach wie möglich gehalten, der Server merkt sich keine Dateiinformationen zwischen zwei RPC-Aufrufen. Er ist also zustandslos.
</p><p>Statt <i>open</i> wird ein <i>lookup</i>-Aufruf implementiert. Dieser liefert ein Datei-„Handle“, das die <a href="Inode" title="Inode">Inodenummer</a> und die Gerätenummer des Massenspeichers auf dem Server enthält. Über dieses Handle kann eine Datei auf dem Server eindeutig identifiziert werden. Unter Unix steht über diese beiden Nummern die Dateiinformation effizient ohne aufwändige Suche eindeutig zur Verfügung.
</p><p>Die weiteren Aufrufe wie <i>read</i> oder <i>write</i> müssen stets ein Offset übergeben, so dass der Server auch hier ohne Kenntnis früherer Operation die gewünschte Information eindeutig liefern kann.
</p><p>Weitere Eigenschaften des Protokolls sind
</p>
<ul><li>nur kurze <a href="Cache" title="Cache">Cachezeiten</a> (wenige Sekunden) für Verzeichnisinformationen und Dateiattribute</li>
<li>kein Datencache</li>
<li>Verwendung des verbindungslosen User Datagram Protocols (<a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a>) optional <a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a> (NFSv4 nur TCP)</li>
<li>Lock- und Mount-Operationen über zusätzliche Hilfsprotokolle</li>
<li>Verwendung von Unix-Dateiattributen (zum Beispiel Benutzer-<i>uid</i>)</li></ul>
<p>Wegen des einfachen Designs läuft NFS in normalen Umgebungen gut:
</p>
<ul><li>lokales Netzwerk mit kurzen <a href="Antwortzeit" title="Antwortzeit">Antwortzeiten</a></li>
<li>Ausführen von Programmen über das lokale Netzwerk</li>
<li>Normale Benutzeraktivitäten (Editieren, Programme übersetzen)</li>
<li>Server mit relativ wenig Arbeitsspeicher</li></ul>
<p>Weniger gut ist das Verhalten bei
</p>
<ul><li>gemeinsamer Nutzung von Dateien</li>
<li>Verwendung über das Internet (lange Antwortzeiten, geringe Sicherheit)</li>
<li>Verwendung von Firewalls (UDP, kein fester Port wegen <i>Portmapper</i>) (Unter NFSv4 kein Problem mehr; jegliche Kommunikation läuft über Port 2049/TCP)</li></ul>
<p>Das Protokoll wurde Ende der 1980er-Jahre entwickelt. Auch teure <a href="Workstation" title="Workstation">Workstations</a> hatten zu dieser Zeit nur wenige <a href="Mebibyte" class="mw-redirect" title="Mebibyte">Mebibytes</a> Arbeitsspeicher, typisch etwa 4 bis 8 <a href="Mebibyte" class="mw-redirect" title="Mebibyte">MiB</a>. Ein NFS-Server kann auf solchen Maschinen aufgrund des Designs trotzdem effizient betrieben werden.
</p><p>Wegen des zustandslosen Servers kann dieser ohne Datenverlust heruntergefahren und neu gestartet werden. Programme stürzen nicht ab und Benutzer müssen dann einfach warten, bis der Server wieder verfügbar ist.
</p>
<div class="mw-heading mw-heading2"><h2 id="Festplattenlose_Arbeitsrechner">Festplattenlose Arbeitsrechner</h2></div>
<p><a href="Arbeitsrechner" class="mw-redirect" title="Arbeitsrechner">Arbeitsrechner</a> (Workstations) können über NFS ganz ohne Festplatte betrieben werden.
Das Betriebssystem und die Betriebsparameter können über Protokolle wie <a href="Bootstrap_Protocol" title="Bootstrap Protocol">BOOTP</a> und <a href="Trivial_File_Transfer_Protocol" title="Trivial File Transfer Protocol">TFTP</a> geladen werden. Ein spezieller Kernel (z. B. Linux) kann dann über NFS bereits auf das Root-Laufwerk unter Unix zugreifen. Spezielle plattenlose Arbeitsrechner <i>(<a href="Diskless-Workstation" title="Diskless-Workstation">diskless workstations</a>)</i> wurden von der Firma Sun in den 1990er-Jahren angeboten.
</p><p>Vorteile sind ein verringerter Wartungsaufwand, gemeinsame Nutzung von Speicherplatz sowie einfachere und preiswerte Client-Workstations (<a href="Thin_Client" title="Thin Client">Thin Clients</a>). Bei vielen Clients wird der Server jedoch stark belastet, außerdem sind die Zugriffe über Netzwerk in den meisten Fällen langsamer.
</p>
<div class="mw-heading mw-heading2"><h2 id="PC-NFS">PC-NFS</h2></div>
<p>Sun und andere Firmen boten in den 1990er Jahren auch NFS-Clientsoftware für PCs unter <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> an, das PC-NFS. Der Server musste weiterhin eine Unix-Workstation sein. Bis <a href="Windows_for_Workgroups" class="mw-redirect" title="Windows for Workgroups">Windows for Workgroups</a> war der Netzwerkzugriff unter Windows nicht Teil des Betriebssystems. In Unix-Umgebungen wurde der Einsatz von PCs dadurch wesentlich erleichtert.
</p><p>PC-NFS musste mit den unterschiedlichen Konzepten des DOS/Windows-Systems kämpfen. Die damaligen Windows-Versionen erlaubten nur Dateinamen mit bis zu acht Zeichen sowie eine drei Zeichen lange Erweiterung, die durch einen Punkt abgetrennt wurde (z. B. <code>AUTOEXEC.BAT</code>, die sogenannte <a href="8.3" title="8.3">8.3</a>-Notation), während Unix 255 Zeichen lange Pfadnamen erlaubte. Die Dateinamen unterschieden im Gegensatz zu DOS zwischen Groß- und Kleinschreibung. PC-NFS musste also zwischen den Dateinamenkonzepten übersetzen.
</p><p>Ein Unix-Dateiname <i>file.txt</i> erschien als <span style="font-family:monospace;">FILE.TXT</span> unter Windows/DOS, während ein Dateiname <i>Dokumentation.txt</i> etwa in <span style="font-family:monospace;">DOKUME~1.TXT</span> umgesetzt wurde.
</p>
<div class="mw-heading mw-heading2"><h2 id="NFS_Version_4">NFS Version 4</h2></div>
<p>Die NFS Version 4 stellt eine Neuimplementierung dar, die neuere Erfordernisse berücksichtigt. Sie ist in RFC 7530 standardisiert.<sup id="cite_ref-RFC7530_4-1" class="reference"><a href="#cite_note-RFC7530-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Die Unix-Lastigkeit der frühen Versionen wird so weit wie möglich verringert. Die UNIX-Benutzer- und Gruppennummern werden durch eindeutigere Zeichenketten nach dem Muster nutzer@domain ersetzt. <i>nutzer</i> ist hierbei der Nutzername auf dem Server, <i>domain</i> ist die Domain des Servers, also der Teil des Hostnamens, der nicht den Server selbst identifiziert (<i>srv.cs.example.net</i> → <i>cs.example.net</i>). Durch die Kennung <i>user@cs.example.net</i> kann nun auf allen Rechnern der Domain <i>cs.example.net</i> der Nutzer eindeutig identifiziert werden, auch wenn der Nutzer <i>user</i> auf dem Server die Unix-User-ID 1050 hat und auf dem Client z. B. 1100. Dies führte bei früheren NFS-Versionen zu Problemen, wenn keine konsistente Nutzernummerierung eingehalten wurde. Für die Umsetzung der neuen NFS-Nutzernamen in (Unix-)Nutzer-IDs ist unter Linux zum Beispiel der Dienst <i>rpc.idmapd</i> (<i><b>ID</b> <b>map</b>per <b>d</b>aemon</i>), unter <a href="FreeBSD" title="FreeBSD">FreeBSD</a> der <a href="Daemon" title="Daemon">Daemon</a> <i>nfsuserd</i> (<i><b>NFS</b> <b>user</b> <b>d</b>aemon</i>) zuständig (sowohl für Server- als auch für Clientseite). Die Nutzernamen werden nur richtig zugeordnet, wenn Server und Client die gleiche Domain haben, ansonsten wird als Eigentümer <i>nobody.nogroup</i> angegeben.
</p><p>Da manche Dateisysteme keine effiziente Implementierung von eindeutigen <a href="Datei-Handle" class="mw-redirect" title="Datei-Handle">Datei-Handles</a> ermöglichen, werden <i>flüchtige</i> <a href="Handle" title="Handle">Handles</a> eingeführt, die nur eine bestimmte Zeit zur Verfügung stehen. Unter Unix kann man Handles sehr einfach aus der Geräte- und <a href="Inode" title="Inode">Inode</a>-Nummer konstruieren. Auch Dateisysteme, die nicht zwischen Groß- und Kleinschreibung unterscheiden, sowie benutzerdefinierte Dateiattribute werden jetzt unterstützt.
</p><p>Das <a href="Mounten" title="Mounten">Mount</a>- und <a href="Lock" title="Lock">Lockprotokoll</a> sind jetzt Bestandteil des Protokolls selbst, Hilfsprotokolle werden nicht mehr benötigt. Das Protokoll selbst läuft auf dem festen <a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a>-Port <i>2049</i>, <a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a> wird nicht mehr unterstützt. Zwar liefen auch schon frühere Versionen auf diesem Port, die Hilfsprotokolle wurden vom RPC-Portmapper aber dynamisch zugeteilt. Die Verwendung von <a href="Firewall" title="Firewall">Firewalls</a> bei NFS-Verbindungen wird durch diese Maßnahmen stark vereinfacht.
</p><p>Mehrere Anfragen können gebündelt werden <i>(combined request)</i>, sie werden dann vom Server ausgeführt und nur eine Antwort muss zurückgesendet werden. Das Protokoll kann damit effizient auch im Weitverkehrsbereich (<a href="Wide_Area_Network" title="Wide Area Network">WAN</a>) eingesetzt werden, zum Beispiel zwischen verschiedenen Standorten einer Organisation.
</p><p>Verschlüsselung und <a href="Authentifizierung" title="Authentifizierung">Authentifizierung</a> sind jetzt Teil der <a href="Spezifikation" title="Spezifikation">Spezifikation</a>. Zwar war früher schon über Secure-RPC eine Verschlüsselung möglich. Das wurde nur selten genutzt, unter anderem, weil Secure-RPC nicht überall zur Verfügung stand.
</p><p>Der <i>lookup</i>-Aufruf wird durch <i>open</i> ersetzt, die Speicherung von Dateiinformationen wird dadurch möglich. Beispielsweise könnte die Schreib-/Leseposition auf dem Server verwaltet werden. Auch die gemeinsame Nutzung von Dateien wird besser unterstützt. Falls viele Clients eine Datei nur lesen, kann diese an alle Clients verliehen <i>(leases)</i> werden. Wenn ein Client eine Datei schreiben möchte, kann diese exklusiv verliehen werden.
</p><p>In Version 4.1 ist unter anderem paralleler Zugriff auf über mehrere Server verteilten Speicher hinzugefügt worden. Ab Version 4.2 im November 2016 werden serverseitige Kopien und Sparsefiles unterstützt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Konfiguration_in_Unix-Systemen">Konfiguration in Unix-Systemen</h2></div>
<p>Die NFS-Freigaben werden unter Unix serverseitig meist in der Datei /etc/exports festgelegt, die nach dem folgenden Schema aufgebaut ist. Dabei sind die Unterschiede zwischen Linux- und FreeBSD-Systemen zu beachten:
</p>
<pre># Server-Adresse: 10.0.0.1
# NFSv2, NFSv3:
# Exportiert /path/to/directory an alle IPs von 10.0.0.0 bis 10.0.255.255,
# und zwar zum Lesen/Schreiben (rw), asynchronem Zugriff (Daten werden
# nicht sofort geschrieben) und auch von Ports über 1024 aus (insecure)
#
# Erreichbar als: 10.0.0.1:/path/to/directory
#
### Linux-Systeme
/path/to/directory 10.0.0.0/16(rw,async,insecure)
</pre>
<pre>### FreeBSD
/path/to/directory -network 10.0.0.0/16
</pre>
<pre># NFSv4:
# Benötigt zur optimalen Funktion eine Freigabe mit der Option <i>fsid=0</i>.
# Diese wird als root-Freigabe genutzt und ist als die Freigabe / zu
# erreichen. Die anderen Freigaben liegen unterhalb davon. Ansonsten
# ist optional eine Authentifizierung/Verschlüsselung mit <a href="Kerberos_(Informatik)" class="mw-redirect" title="Kerberos (Informatik)">Kerberos</a>
# möglich.
#
### Linux-Systeme:
# Erreichbar als 10.0.0.1:/
# Wird diese Freigabe eingehängt, so sind alle darunterliegenden
# Freigaben logischerweise zugänglich.
/path/to/nfsv4/root 10.0.0.0/16(rw,async,insecure,<b>fsid=0</b>)
# Erreichbar als 10.0.0.1:/export1
/path/to/nfsv4/root/export1 10.0.0.0/16(rw,async,insecure)
</pre>
<pre>### FreeBSD
# Root-Punkt spezifizieren (unter Linux der mit fsid=0 markierte Punkt)
V4: /path/to/nfsv4/root -network 10.0.0.0/16
# Freigaben angeben
/path/to/nfsv4/root/export1 -network 10.0.0.0/16
</pre>
<p>Der Client kann eine Freigabe manuell mounten oder ggf. mit einem Eintrag in der Datei <a href="Fstab" title="Fstab">fstab</a> automatisieren.
</p><p>Vielen aktuellen <a href="Linux-Distribution" title="Linux-Distribution">Linux-Distributionen</a> liegen grafische Hilfswerkzeuge bei, um die Einbindung von NFS-Freigaben ins System zu vereinfachen, zum Beispiel das NFS-<a href="YaST" title="YaST">YaST</a>-Plugin unter <a href="OpenSUSE" title="OpenSUSE">openSUSE</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Sicherheit">Sicherheit</h2></div>
<div class="mw-heading mw-heading3"><h3 id="NFS_Version_3_und_früher"><span id="NFS_Version_3_und_fr.C3.BCher"></span>NFS Version 3 und früher</h3></div>
<p>NFS wurde geschaffen, um in Unix-Netzen <a href="Dateisystem" title="Dateisystem">Dateisysteme</a> über Rechnergrenzen hinweg zugänglich zu machen. Zur Zeit der Entwicklung von NFS waren solche Netze fast ausschließlich zentral verwaltet und die Rechner wurden zentral administriert, entsprechend wurde das Sicherheitskonzept gestaltet.
</p><p>Die Entwickler von NFS bei Sun Microsystems hatten ursprünglich vorgesehen, die Sicherheit als Aufgabe der RPC-Schicht zu implementieren. Dazu wird RPC durch Secure-RPC ersetzt. Die NFS-Protokolle selbst bleiben davon unberührt. Secure-RPC hat allerdings keine weite Verbreitung gefunden, die Verwendung ist auch nicht bei allen Implementierungen möglich.
</p><p>Ein NFS-Server ohne Secure-RPC exportiert Dateisysteme an bestimmte andere Rechner (von <a href="Root-Konto" title="Root-Konto">root</a> durch <a href="IP-Adresse" title="IP-Adresse">IP-Adressen</a> festgelegt), d. h. der root-User eines Clientrechners kann auf alle Dateien zugreifen, die der Server an den Client exportiert, unabhängig von deren Zugriffsrechten. Die Zugriffsrechte (der Benutzer) werden von NFS an den Client mitübertragen und vom Betriebssystem des jeweiligen Rechners ausgewertet und gegenüber den Benutzern durchgesetzt. Die Konsistenz der Benutzerdatenbank auf den beteiligten Rechnern wird dabei z. B. durch <a href="Network_Information_Service" title="Network Information Service">NIS</a> erreicht.
</p><p>Heute sind Rechnernetze häufig offen und nur bedingt zentral administriert, d. h. ein Angreifer kann relativ einfach entweder einen Rechner übernehmen, dem der NFS-Server vertraut, indem er ihn z. B. mit einem <a href="Live-System" title="Live-System">Live-System</a> neu bootet oder einen zusätzlichen Laptop ins Netz hängt und die IP eines gerade nicht laufenden NFS-Clients annimmt. In beiden Fällen kann der Angreifer, da er auf seinem System Rootrechte hat, auf alle an den Client exportierten Dateien zugreifen, unabhängig von deren Zugriffsrechten. Somit ist NFS v3 ohne separat installiertes <a href="Kerberos_(Protokoll)" title="Kerberos (Protokoll)">Kerberos</a> immer nur so sicher wie das Netz und die beteiligten Rechner.
</p><p>Mit der Server-Option <i>root_squash</i> (unter FreeBSD mit der in der entsprechenden Zeile anzugebenden Option <span style="font-family:monospace;">-maproot=<USER></span>) kann man das oben genannte Szenario unterbinden. Damit werden Zugriffe durch Benutzer mit der UID 0 (meist <i>root</i>) als Zugriffe des anonymen Benutzers (UID=65534) gewertet, der dann u. U. keinerlei Zugriffsrechte auf die freigegebenen Dateien hat. Ein Angreifer muss nun beim Verbinden so lange unterschiedliche UIDs ausprobieren, bis er die UID des Benutzers oder der Gruppe erwischt, die berechtigt ist. Da es nur <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{16}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2^{16}}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/e8e0dd3c0e42794174d2dbcb9a3ee2c6d69299d4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.039ex; height:2.676ex;" alt="{\displaystyle 2^{16}}" loading="lazy"></span> (65536) UIDs gibt, bietet auch dieses Vorgehen keine echte Sicherheit.
</p>
<div class="mw-heading mw-heading3"><h3 id="NFS_Version_4_2">NFS Version 4</h3></div>
<p>NFSv4 löst dieses Problem, indem z. B. <a href="Kerberos_(Informatik)" class="mw-redirect" title="Kerberos (Informatik)">Kerberos</a> nun Bestandteil des Protokolls ist und eine Authentifizierung der Benutzer ermöglicht. Zudem lässt sich mit einer ebenfalls optionalen Verschlüsselung auch die <a href="Vertraulichkeit" title="Vertraulichkeit">Vertraulichkeit</a> sicherstellen.
</p>
<div class="mw-heading mw-heading4"><h4 id="Verfügbare_Sicherheitsmodi"><span id="Verf.C3.BCgbare_Sicherheitsmodi"></span>Verfügbare Sicherheitsmodi</h4></div>
<p>Beim Verbinden kann einer der folgenden Mechanismen gewählt werden, um das Sicherheitsniveau (welches auch die Übertragungsgeschwindigkeit beeinflusst) festzulegen:
</p>
<table class="wikitable">
<tbody><tr>
<th>Bezeichnung
</th>
<th>Bedeutung
</th>
<th>Mount-Option
</th></tr>
<tr>
<td>sys
</td>
<td>Benutzeridentifikation erfolgt nach dem Schema von NFS3. Dies bietet sehr wenig Sicherheit.
</td>
<td>sec=sys
</td></tr>
<tr>
<td>krb5
</td>
<td>Server und Client authentifizieren sich gegenseitig unter Benutzung der <a href="GSSAPI" title="GSSAPI">GSS</a>-Schnittstelle mittels Kerberos. Dies unterbindet das obige Angriffsszenario.
</td>
<td>sec=krb5
</td></tr>
<tr>
<td>krb5i
</td>
<td>Zusätzlich wird die Integrität der übertragenen Daten sichergestellt. Dies verhindert eine Veränderung der Daten durch einen <a href="Man-in-the-Middle-Angriff" title="Man-in-the-Middle-Angriff">Man In The Middle</a>.
</td>
<td>sec=krb5i
</td></tr>
<tr>
<td>krb5p
</td>
<td>Die Vertraulichkeit der übertragenen Daten wird zusätzlich zur Integrität gewährleistet. Dies verhindert ein Mitlesen durch einen Angreifer im Netzwerk.
</td>
<td>sec=krb5p
</td></tr></tbody></table>
<p>Eine Freigabe kann mehrere Mechanismen anbieten, aus denen der Client einen durch die Mount-Option auswählen kann.
</p>
<div class="mw-heading mw-heading4"><h4 id="Alternative_zu_Kerberos">Alternative zu Kerberos</h4></div>
<p>Allerdings wird des Öfteren bemängelt, dass mit Kerberos eine enorm komplexe und in einigen Umgebungen unmögliche Voraussetzung besteht. Daher wird anstelle der eingebauten Sicherheitsfunktionen von NFS oft eine zusätzliche Sicherheits-Schicht wie <a href="Transport_Layer_Security" title="Transport Layer Security">TLS</a> genutzt.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Normen_und_Standards">Normen und Standards</h2></div>
<p>Die Version 1.0 hat <a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> im Jahr 1984 erstellt.<sup id="cite_ref-sun85_7-0" class="reference"><a href="#cite_note-sun85-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Ab der Version 2.0 erfolgte die weitere Standardisierung als <a href="Request_for_Comments" title="Request for Comments">Request for Comments</a>. Erst mit der Version 4.0 erfolgte der Wechsel vom Status Informational in Offizieller Standard. Die drei Versionen 4.0, 4.1 und 4.2 sind alle zugleich aktuelle Standards, deshalb gibt es seit 2017 auch Ergänzungen ohne Versionsnummer:
</p><p>a) Ursprünglicher Pfad von Version 2 zu Version 4.0:
</p>
<ul><li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */
.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}
/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc1094" class="extiw external" title="rfc:1094">1094</a></span></i> – <i><span lang="en">NFS Version 2 Protocol Specification</span></i>. 1989 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3010" class="extiw external" title="rfc:3010"><i>RFC 3010</i></a></span>, englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc1813" class="extiw external" title="rfc:1813">1813</a></span></i> – <i><span lang="en">NFS Version 3 Protocol Specification</span></i>. 1995 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3010" class="extiw external" title="rfc:3010"><i>RFC 3010</i></a></span>, englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3010" class="extiw external" title="rfc:3010">3010</a></span></i> – <i><span lang="en">NFS Version 4 Protocol</span></i>. 2000 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3530" class="extiw external" title="rfc:3530"><i>RFC 3530</i></a></span>, englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3530" class="extiw external" title="rfc:3530">3530</a></span></i> – <i><span lang="en">Network File System (NFS) version 4 Protocol</span></i>. 2003 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7530" class="extiw external" title="rfc:7530"><i>RFC 7530</i></a></span>, englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7530" class="extiw external" title="rfc:7530">7530</a></span></i> – <i><span lang="en">NFS Version 4 Protocol Specification</span></i>. 2015 (englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7931" class="extiw external" title="rfc:7931">7931</a></span></i> – <i><span lang="en">NFSv4.0 Migration: Specification Update</span></i>. 2016 (englisch).</li></ul>
<p>b) Neuere Versionen 4.x
</p>
<ul><li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc5661" class="extiw external" title="rfc:5661">5661</a></span></i> – <i><span lang="en">Network File System (NFS) Version 4 Minor Version 1 Protocol</span></i>. 2010 (NFS 4.1, englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7862" class="extiw external" title="rfc:7862">7862</a></span></i> – <i><span lang="en">Network File System (NFS) Version 4 Minor Version 2 Protocol</span></i>. 2016 (NFS 4.2, englisch).</li></ul>
<p>c) Ergänzungen für 4.x
</p>
<ul><li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc8178" class="extiw external" title="rfc:8178">8178</a></span></i> – <i><span lang="en">Rules for NFSv4 Extensions and Minor Versions</span></i>. 2017 (englisch).</li>
<li><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc8434" class="extiw external" title="rfc:8434">8434</a></span></i> – <i><span lang="en">Requirements for Parallel NFS (pNFS) Layout Types</span></i>. 2018 (englisch).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */
.mw-parser-output .webarchiv-memento a{color:inherit}
/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110705014919/http://nfsv4.org/">Projektseite</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 5. Juli 2011 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) (englisch)</li>
<li><a rel="nofollow" class="external text" href="http://nfs.sourceforge.net/">Linux-Implementierung von nfs</a> (englisch)
<ul><li><span class="cite">Christopher Smith: <a rel="nofollow" class="external text" href="http://nfs.sourceforge.net/nfs-howto/index.html"><i>Linux NFS-HOWTO.</i></a> 2. Mai 2006,<span class="Abrufdatum"> abgerufen am 16. Dezember 2010</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ANetwork+File+System&rft.title=Linux+NFS-HOWTO&rft.description=Linux+NFS-HOWTO&rft.identifier=http%3A%2F%2Fnfs.sourceforge.net%2Fnfs-howto%2Findex.html&rft.creator=Christopher+Smith&rft.date=2006-05-02"> </span></li></ul></li>
<li><a rel="nofollow" class="external text" href="https://curlie.org/Computers/Software/Operating_Systems/File_Systems/NFS/">Linkkatalog zum Thema NFS</a> bei <i>curlie.org</i> (ehemals <a href="DMOZ" title="DMOZ">DMOZ</a>) (englisch).</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc1094" class="extiw external" title="rfc:1094">1094</a></span></i> – <i><span lang="en">NFS Version 2 Protocol Specification</span></i>. 1989 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3010" class="extiw external" title="rfc:3010"><i>RFC 3010</i></a></span>, englisch).</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc1813" class="extiw external" title="rfc:1813">1813</a></span></i> – <i><span lang="en">NFS Version 3 Protocol Specification</span></i>. 1995 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3010" class="extiw external" title="rfc:3010"><i>RFC 3010</i></a></span>, englisch).</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc3530" class="extiw external" title="rfc:3530">3530</a></span></i> – <i><span lang="en">Network File System (NFS) version 4 Protocol</span></i>. 2003 (aktualisiert durch <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7530" class="extiw external" title="rfc:7530"><i>RFC 7530</i></a></span>, englisch).</span>
</li>
<li id="cite_note-RFC7530-4"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-RFC7530_4-0">a</a></sup> <sup><a href="#cite_ref-RFC7530_4-1">b</a></sup></span> <span class="reference-text">
<i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7530" class="extiw external" title="rfc:7530">7530</a></span></i> – <i><span lang="en">NFS Version 4 Protocol Specification</span></i>. 2015 (englisch).</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://datatracker.ietf.org/wg/nfsv4/charter/"><i>Network File System Version 4 (nfsv4).</i></a> <a href="Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a>,<span class="Abrufdatum"> abgerufen am 4. März 2021</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ANetwork+File+System&rft.title=Network+File+System+Version+4+%28nfsv4%29&rft.description=Network+File+System+Version+4+%28nfsv4%29&rft.identifier=https%3A%2F%2Fdatatracker.ietf.org%2Fwg%2Fnfsv4%2Fcharter%2F&rft.publisher=%5B%5BInternet+Engineering+Task+Force%7CIETF%5D%5D&rft.language=en"> </span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><span class="cite">Charles Fisher: <a rel="nofollow" class="external text" href="https://www.linuxjournal.com/content/encrypting-nfsv4-stunnel-tls"><i>Encrypting NFSv4 with Stunnel TLS.</i></a> In: <i>Linux Journal.</i> Slashdot Media, LLC, 3. August 2018,<span class="Abrufdatum"> abgerufen am 14. Januar 2022</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ANetwork+File+System&rft.title=Encrypting+NFSv4+with+Stunnel+TLS&rft.description=Encrypting+NFSv4+with+Stunnel+TLS&rft.identifier=https%3A%2F%2Fwww.linuxjournal.com%2Fcontent%2Fencrypting-nfsv4-stunnel-tls&rft.creator=Charles+Fisher&rft.publisher=Slashdot+Media%2C+LLC&rft.date=2018-08-03&rft.language=en"> </span> “<span lang="en">The sec=krb5p option will encrypt NFSv4 traffic in a Kerberos realm, but requiring this infrastructure is inappropriate in hosted environments and is generally far from helpful. Basic access to symmetric cryptography does not and should not mandate such enormous baggage.</span>”</span>
</li>
<li id="cite_note-sun85-7"><span class="mw-cite-backlink"><a href="#cite_ref-sun85_7-0">↑</a></span> <span class="reference-text"><span class="cite">Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, Bob Lyon: <a rel="nofollow" class="external text" href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.473"><i>Design and Implementation of the Sun Network Filesystem.</i></a> <a href="USENIX" title="USENIX">USENIX</a>, 1985,<span class="Abrufdatum"> abgerufen am 20. Juli 2023</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ANetwork+File+System&rft.title=Design+and+Implementation+of+the+Sun+Network+Filesystem&rft.description=Design+and+Implementation+of+the+Sun+Network+Filesystem&rft.identifier=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.14.473&rft.creator=Russel+Sandberg%2C+David+Goldberg%2C+Steve+Kleiman%2C+Dan+Walsh%2C+Bob+Lyon&rft.publisher=%5B%5BUSENIX%5D%5D&rft.date=1985"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-05-22" href="https://de.wikipedia.org/wiki/?title=Network_File_System&oldid=256215314">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>